package com.sf.bank.proxy;

/**
 * 实现了person接口，但是还另外有一个学生类对象，由于实现了person接口，同时持有一个学生对象，那么他可以
 * 代理学生类对象执行还是那个叫班费（执行giveMoney()方法）
 * 学生代理类，保存一个学生实体，这样既可以代理学生产生行为
 */
public class StudentProxy implements Person{
    //被代理的学生
    Student student;
    public StudentProxy(Person student) {
        if(student.getClass() == Student.class){
            this.student = (Student)student;
        }
    }

    @Override
    public void giveMoney() {
        System.out.println("张三最近学习有进步！");
        student.giveMoney();
    }
}
